19 research outputs found

    Interactions entre calculs et communications au sein des systèmes HPC distribués

    Get PDF
    National audienceLes supports d'exécution parallèles distribués permettent généralement d'exécuter simultanément les calculs et les communications pour atteindre de meilleures performances. Cet article étudie les interactions entre les calculs et les communications qui peuvent pénaliser leurs performances respectives. Nous présentons principalement les effets de la contention mémoire, cause principale de la dégradation des performances du calcul et des communications exécutés simultanément. Nous montrons que cette contention peut fortement pénaliser les performances du réseau, mais également perturber les calculs. Nous nous intéressons également aux différents facteurs qui font varier la contention mémoire et donc l'impact sur les performances

    Interferences between Communications and Computations in Distributed HPC Systems

    Get PDF
    International audienceOverlapping communications with computations in distributed applications should increase their performances and allow to reach better scalability. This implies, by construction, communications are executed in parallel of computations. In this work, we explore the impact of computations on communication performances and vice-versa, with a focus on the role of memory contention. One main observation is that highly memory-bound computations can have a severe impact on network bandwidth

    Interactions entre calculs et communications au sein des systèmes HPC distribués : évaluation et modélisation.

    Get PDF
    National audienceLes supports d'exécution parallèles distribués permettent généralement de recouvrir les communications réseau par des calculs, pour amortir le coût des communications, et ainsi espérer optimiser les performances des applications HPC. Le recouvrement signifie exécuter simultanément les communications et les calculs.Nous avons commencé par étudier les interactions entre les calculs et les communications lorsqu'ils sont exécutés en parallèle. Nous avons découvert que des interactions existent, et qu'elles peuvent dégrader les performances. En plus des variations de fréquences et du surcoût causé par le support d'exécution, la cause principale de cet impact est la contention mémoire. Cette contention peut être due au trafic au sein du système gérant la mémoire, qui est généré par les accès mémoire émis simultanément par les communications réseaux et les cœurs de calcul. Nous avons montré que cette contention peut fortement pénaliser les performances du réseau, mais également, dans une moindre mesure, perturber les calculs. Nous nous sommes intéressés de plus aux différents facteurs qui font varier la contention mémoire et donc l'impact sur les performances : la contention dégrade plus les performances lorsque les calculs sont limités par les accès mémoire et la taille des messages échangés sur le réseau est importante.Afin de décrire et prédire le débit mémoire accordé respectivement aux calculs et aux communications lorsqu'ils sont exécutés en parallèle, nous avons proposé un modèle prenant en compte la contention mémoire, ainsi que le placement des données utilisées par les communications et les calculs. L'élaboration de ce modèle nous a permis de comprendre que, parmi les composants du système mémoire, les contrôleurs des nœuds NUMA sont plus sujets à contention que les liens inter-processeurs. De même qu'en cas de contention, le système préfère d'abord réduire la bande-passante mémoire accordée aux communications, pour pouvoir satisfaire le plus longtemps possible les besoins des cœurs exécutant des calculs. Cependant, une bande-passante mémoire minimale est toujours assurée pour les communications. Le modèle a été évalué sur plusieurs machines avec différentes caractéristiques et ses prédictions ont une erreur en moyenne inférieure à 4%

    Amélioration des performances de supports d'exécution à tâches à l'aide de broadcasts dynamiques

    Get PDF
    National audienceLes supports d'exécution à tâches sont apparus dans le monde du calcul haute performance pour gérer plus facilement les architectures hétérogènes, mieux passer à l'échelle et atteindre ainsi de meilleures performances. Le passage à l'échelle sur de nombreux nœuds de calcul fait apparaître les communications réseau comme un goulot d'étranglement pour les performances. Les supports d'exécution à tâches doivent parfois envoyer une même donnée vers plusieurs nœuds. L'optimisation de ce genre de communications passe habituellement par un appel à une fonction dédiée, comme MPI_Bcast. Cependant, MPI_Bcast est difficilement utilisable dans les supports d'exécution à tâches : les nœuds doivent savoir qu'ils ne sont pas les seuls à recevoir la donnée en question et ils doivent connaître tous les autres nœuds destinataires de cette donnée, pour pouvoir faire appel à MPI_Bcast. Pour pallier ces contraintes tout en conservant un algorithme de diffusion optimisé, nous proposons une solution, appelée broadcasts dynamiques, où les nœuds découvrent, de façon transparente pour l'utilisateur, qu'ils sont impliqués dans un broadcast seulement lorsqu'ils reçoivent les données et n'ont pas besoin de connaître tous les nœuds du broadcast. Cette solution montre des améliorations des performances allant jusqu'à 30 % sur des décompositions de Cholesky

    Opérations collectives dynamiques dans StarPU / NewMadeleine

    Get PDF
    International audienc

    Interferences between Communications and Computations in Distributed HPC Systems

    Get PDF
    International audienceParallel runtime systems such as MPI or task-based libraries provide models to manage both computation and communication by allocating cores, scheduling threads, executing communication algorithms. Efficiently implementing such models is challenging due to their interplay within the runtime system. In this paper, we assess interferences between communications and computations when they run side by side. We study the impact of communications on computations, and conversely the impact of computations on communication performance. We consider two aspects: CPU frequency, and memory contention. We have designed benchmarks to measure these phenomena. We show that CPU frequency variations caused by computation have a small impact on communication latency and bandwidth. However, we have observed on Intel, AMD and ARM processors, that memory contention may cause a severe slowdown of computation and communication when they occur at the same time. We have designed a benchmark with a tunable arithmetic intensity that shows how interferences between communication and computation actually depend on memory pressure of the application. Finally we have observed up to 90 % performance loss on communications with common HPC kernels such as CG and GEMM

    Predicting Performance of Communications and Computations under Memory Contention in Distributed HPC Systems

    Get PDF
    International audienceTo amortize the cost of MPI communications, distributed parallel HPC applications can overlap network communications with computations in the hope that it improves global application performance. When using this technique, both computations and communications are running at the same time. But computation usually also performs some data movements. Since data for computations and for communications use the same memory system, memory contention may occur when computations are memory-bound and large messages are transmitted through the network at the same time.In this paper we propose a model to predict memory bandwidth for computations and for communications when they are executed side by side, according to data locality and taking contention into account. Elaboration of the model allowed to better understand locations of bottleneck in the memory system and what are the strategies of the memory system in case of contention. The model was evaluated on many platforms with different characteristics, and showed a prediction error in average lower than 4 %

    Modeling Memory Contention between Communications and Computations in Distributed HPC Systems

    Get PDF
    International audienceTo amortize the cost of MPI communications, distributed parallel HPC applications can overlap network communications with computations in the hope that it improves global application performance. When using this technique, both computations and communications are running at the same time. But computation usually also performs some data movements. Since data for computations and for communications use the same memory system, memory contention may occur when computations are memory-bound and large messages are transmitted through the network at the same time. In this paper we propose a model to predict memory bandwidth for computations and for communications when they are executed side by side, according to data locality and taking contention into account. Elaboration of the model allowed to better understand locations of bottleneck in the memory system and what are the strategies of the memory system in case of contention. The model was evaluated on many platforms with different characteristics, and showed a prediction error in average lower than 4 %

    Modélisation de la contention mémoire entre les communications et les calculs sur les systèmes HPC distribués (version étendue)

    Get PDF
    To amortize the cost of MPI communications, distributed parallel HPC applications can overlap network communications with computations in the hope that it improves global application performance. When using this technique, both computations and communications are running at the same time. But computation usually also performs some data movements. Since data for computations and for communications use the same memory system, memory contention may occur when computations are memory-bound and large messages are transmitted through the network at the same time.In this paper we propose a model to predict memory bandwidth for computations and for communications when they are executed side by side, according to data locality and taking contention into account.Elaboration of the model allowed to better understand locations of bottleneck in the memory system and what are the strategies of the memory system in case of contention. The model was evaluated on many platforms with different characteristics, and showed a prediction error in average lower than 4 %.Pour amortir le coût des communications MPI, les applications HPC distribuées et parallèles peuvent recouvrir les communications réseau par des calculs, dans l'espoir d'améliorer les performances globales de l'application. L'utilisation de cette technique implique d'exécuter en même temps des calculs et des communications. Généralement, les calculs causent des déplacements de données. Puisque les données pour les calculs et celles pour les communications circulent au sein du même système gérant la mémoire, de la contention peut se produire dans ce système lorsque les calculs sont limités par les données et les communications échangent des messages de taille importante.Nous proposons dans ce papier un modèle pour prédire le débit mémoire accordé aux calculs et aux communications lorsqu'ils sont exécutés en parallèle. Ce modèle prend en compte le placement des données et la contention mémoire. L'élaboration de ce modèle nous a permis demieux comprendre quels sont les composants du système mémoire les plus sujets à la contention, et quelles sont les stratégies mises en œuvre par le système pour gérer cette dernière. Le modèle a été évalué sur plusieurs machines avec différentes caractéristiques et ses prédictions ont uneerreur en moyenne inférieure à 4 %
    corecore